appsero_init_tracker(); // Payment Gateways classes. $this->gateways = array( ultraDevs\BDPG\Gateways\Bkash::get_instance(), ultraDevs\BDPG\Gateways\Rocket::get_instance(), ultraDevs\BDPG\Gateways\Nagad::get_instance(), ultraDevs\BDPG\Gateways\Upay::get_instance(), ); // Assets Manager Class. $assets_manager = new ultraDevs\BDPG\Assets_Manager(); // Activate. $activate = new ultraDevs\BDPG\Activate(); $activate->register_migration_hook(); // Review Class. $review = new ultraDevs\BDPG\Review(); // Dashboard Class. new ultraDevs\BDPG\Admin\Dashboard(); // Statistics Class. new ultraDevs\BDPG\Admin\Statistics(); add_action( 'woocommerce_payment_gateways', array( $this, 'add_payment_gateways' ) ); // Register block support gateways. add_action( 'woocommerce_blocks_loaded', array( $this, 'init_block_gateways' ) ); if ( is_admin() ) { // Activation_Redirect. add_action( 'admin_init', array( $activate, 'activation_redirect' ) ); // Admin Assets. add_action( 'admin_enqueue_scripts', array( $assets_manager, 'admin_assets' ) ); // Plugin Action Links. add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) ); // Review Notice. $review->register(); } else { // Frontend Assets. add_action( 'wp_enqueue_scripts', array( $assets_manager, 'frontend_assets' ) ); } } /** * The code that runs during plugin activation. */ /** * Plugin Activation. * * @return void */ public function activate() { $activate = new ultraDevs\BDPG\Activate(); $activate->run(); } /** * Loads a plugin’s translated strings. * * @return void */ public function load_text_domain() { load_plugin_textdomain( 'bangladeshi-payment-gateways', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); } /** * Add Payment Gateways to WooCommerce. * * @param array $gateways Gateways. * @return array */ public function add_payment_gateways( $gateways ) { foreach ( $this->gateways as $gateway ) { $gateways[] = $gateway; } return $gateways; } /** * Initialize Block Support Gateways. * * @return void */ public function init_block_gateways() { if ( ! class_exists( 'Automattic\WooCommerce\Blocks\Payments\Integrations\AbstractPaymentMethodType' ) ) { return; } // Block gateways. $block_gateways = array( ultraDevs\BDPG\Blocks\Gateways\Bkash_Blocks::get_instance(), ultraDevs\BDPG\Blocks\Gateways\Rocket_Blocks::get_instance(), ultraDevs\BDPG\Blocks\Gateways\Nagad_Blocks::get_instance(), ultraDevs\BDPG\Blocks\Gateways\Upay_Blocks::get_instance(), ); foreach ( $block_gateways as $block_gateway ) { add_action( 'woocommerce_blocks_payment_method_type_registration', function ( $payment_method_registry ) use ( $block_gateway ) { $payment_method_registry->register( $block_gateway ); } ); } } /** * WooCommerce Required Notice. */ public function woo_required_notice() { $message = sprintf( // translators: %1$s Plugin Name, %2$s wooCommerce. esc_html__( ' %1$s requires %2$s to be installed and activated. Please activate %2$s to continue.', 'bangladeshi-payment-gateways' ), // @codingStandardsIgnoreLine '' . esc_html__( 'Bangladeshi Payment Gateways', 'bangladeshi-payment-gateways' ) . '', '' . esc_html__( 'WooCommerce', 'bangladeshi-payment-gateways' ) . '' ); printf( '
%1$s